﻿using System;
namespace DoFactory.GangOfFour.Abstract.Structural
{
    /// <summary>
    /// The 'AbstractProductA' abstract class
    /// </summary>
    public abstract class AbstractMasina
    {
        protected string dotari;

        private string motorizare;
        private string dimensiuni;
        protected string nume;
        protected string culoare;
        protected string transmisie;

        public string get_dimensiuni() { return dimensiuni; }
        public void set_dimensiuni(string c) { dimensiuni = c; }

        public string get_motorizare() { return motorizare; }
        public void set_motorizare(string c) { motorizare = c; }

        public string get_dotari() { return dotari; }
        public void set_dotari(string c) { dotari = c; }

        public void set_culoare(string c) { culoare = c; }
        public void set_transmisie(string c) { transmisie = c; }

        public string get_culoare() { return culoare; }
        public string get_transmisie() { return transmisie; }

        public void set_nume(string c) { nume = c; }
        public string get_nume() { return nume; }

        public virtual void afisare()
        {
            Console.WriteLine("Nume:{0}", nume);
            Console.WriteLine("Culoare:{0}", culoare);
            Console.WriteLine("Transmisie:{0}", transmisie);
            Console.WriteLine("Motorizare:{0}", motorizare);
            Console.WriteLine("Dotari:{0}", dotari);
            Console.WriteLine("Dimensiuni:{0}", dimensiuni);
        }
    }
}
